÷QuickDraw GX Font FormatsContentsFigures and TablesAbout QuickDraw GX FontsCharacters, Glyphs, and FontsFigure 1-1 A kanji glyphCharacter PropertiesString and String OrderingEFigure 1-2 The backing stores and visual orders of English and ArabicDiacritical MarksLigatures and Contextual FormsFigure 1-3 Accent ligatures +Figure 1-4 Contextual forms of Arabic “ha” 7Figure 1-5 Comparison of ligatures and contextual formsNoncontextual Forms$Figure 1-6 Examples of number style Case Substitution'Figure 1-7 Effects of case substitutionIndic RearrangementSwash Variants
Fractions 5Figure 1-8 Fractions with super- and subscript glyphsVertical Substitution of Forms Small Caps Text Style MatchingTable 1-1 Text style matching
Baselines ?Figure 1-9 A common baseline for different sizes of a roman “D”:Figure 1-10 A glyph with several possible baselines marked;Figure 1-11 Glyphs in relation to three different baselines?Figure 1-12 Aligning text of different scripts to one baseline $Figure 1-13 Drop capitals Optical BoundsQFigure 1-14 Comparison of left sidebearings of one glyph at different point sizes3Figure 1-15 Optical effects of horizontal alignment1Figure 1-16 Optical effects of vertical alignmentKerningJFigure 1-17 Examples of when simple additive pairwise kerning is incorrectCFigure 1-18 The caret as it appears between two kerned glyphs /Figure 1-19 Example of cross-stream kerning TrackingNFigure 1-20 Normal, tight, and loose tracking by the selection of track number
Justification3Figure 1-21 Justification with and without kashidas!Figure 1-22 Justification controlVertical MetricsFont Variations4Figure 1-23 Font variation along the bold style axis:Figure 1-24 Font variations for the bold and condense axesBitmapsAccent AttachmentFeatures and SettingsChanges From TrueType 1.0The 'glyf' TableOverlapping Contours'Compound Glyphs With Rotated ComponentsThe 'sfnt' directoryThe 'head' Table=Table 1-2 New flag bits in the flag field of the 'head' tableThe 'post' Table QuickDraw GX TablesTable ComponentsBinary Searching Tables%Table 2-1 Binary search header format
Lookup Tables$Table 2-2 Lookup table header format"Simple Array Format 0 Lookup Table%Segment Single Format 2 Lookup Table 5Table 2-3 Segment single Format 2 lookup table format'Table 2-4 Format 2 LookupSegment format$Segment Array Format 4 Lookup Table 4Table 2-5 Segment array Format 4 lookup table format'Table 2-6 Format 4 LookupSegment format"Single Table Format 6 Lookup Table3Table 2-7 Single table Format 6 lookup table format&Table 2-8 Format 6 LookupSingle format#Trimmed Array Format 8 Lookup Table4Table 2-9 Trimmed array Format 8 lookup table formatState TablesUFigure 2-1 A simple finite state machine that capitalizes the first letter in a word VFigure 2-2 A finite state machine that allows only the first letter to be capitalized ,Figure 2-3 An advanced finite state machine 'Figure 2-4 Transition and action pairs Figure 2-5 State table$Table 2-10 State table header formatThe Class SubtableThe State ArrayTable 2-11 State array formatThe Entry Subtable Table 2-12 Entry subtable formatFont TablesGTable 2-13 The QuickDraw GX font tables and their table tags(continued)6Table 2-14 QuickDraw GX font table purposes(continued)Baseline TableBaseline Table FormatFigure 3-1 The baseline table Table 3-1 Baseline table formatFormat 0 Baseline Table!Table 3-2 Format 0 baseline tableFormat 1 Baseline Table!Table 3-3 Format 1 baseline tableFormat 2 Baseline Table!Table 3-4 Format 2 baseline tableFormat 3 Baseline Table!Table 3-5 Format 3 baseline tableBaseline Table ExamplesExample: Using Baselines8Figure 3-2 A roman glyph on the roman (natural) baseline$Figure 3-3 Adding a hanging baselineFigure 3-4 The inital text*Figure 3-5 Resolution to a common baseline,Figure 3-6 Final move to designated baseline;Example: Assigning Baseline Delta Values and Control PointsDistance-Based FormatsKFigure 3-7 Baseline delta assignments for a distance-based horizontal glyph;Table 3-6 Baseline data for a distance-based baseline tableControl Point–Based FormatsDFigure 3-8 Control point assignments for a standard horizontal glyph@Table 3-7 Baseline data for a control point–based baseline table Example: Format 1 Baseline TableNFigure 3-9 Baseline table Format 1 baseline assignments for this example font BTable 3-8 Baseline table for this Format 1 example font(continued) Example: Format 3 Baseline TableBTable 3-9 Baseline table for this Format 3 example font(continued)Justification TableJustification Table Format"Figure 4-1 The justification tableDTable 4-1 The top-level format of the justification table(continued)8Table 4-2 Direction-specific justification header format#The Justification Class State Table)Table 4-3 Justification state table flagsThe Width Delta Clusters Table+Table 4-4 Format of the width delta cluster(Table 4-5 Format of the width delta pair5Table 4-6 Format of the width delta record(continued)7Table 4-7 The growFlags and shrinkFlags bit mask values"Table 4-8 Justification prioritiesThe Postcompensation Subtable*Table 4-9 Postcompensation subtable format3Table 4-10 The PostcompensationAction record format%Table 4-11 The ActionSubrecord formatTable 4-12 Action typesDecomposition Action@Table 4-13 Format of the actionData field of the ActionSubrecordUnconditional Add Glyph ActionConditional Add Glyph ActionRTable 4-14 Format for the actionData portion of the ActionSubrecord for actionTypeStretch Glyph ActionDuctile Glyph ActionTTable 4-15 Format for the actionData portion of the ActionSubrecord for actionType 4
Justification Table Examples#Example: Simple Justification Table?Table 4-16 Justification table for this example font(continued)aExample: Complex Justification Table (With Postcompensation and Justification Class State Tables)IFigure 4-2 Justification table finite state machine for this example font:Figure 4-3 Justification state table for this example fontUTable 4-17 “Start of text,” “start of line,” and “saw a space” state entry references0Table 4-18 “Saw a letter” state entry references?Table 4-19 Justification table for this example font(continued)Ligature Caret TableLigature Caret Table Format $Figure 5-1 The ligature caret table ,Table 5-1 Ligature caret table header format.Table 5-2 The LigCaretClassEntry record formatLigature Caret Table Examples&Example: Format 0 Ligature Caret Table@Figure 5-2 Ligature caret table Format 0 distances for this font3Table 5-3 Ligature caret data for this example font?Table 5-4 Ligature caret table for this example font(continued)&Example: Format 1 Ligature Caret TableEFigure 5-3 Ligature caret table Format 1 control points for this font<Table 5-5 Ligature caret data for this Format 1 example fontHTable 5-6 Ligature caret table for this Format 1 example font(continued)Optical Bounds Table$Figure 6-1 Optical bounds of a glyphOptical Bounds Table Format-Figure 6-2 The optical bounds table structure%Table 6-1 Optical bounds table formatOptical Bounds Table Examples&Example: Format 0 Optical Bounds Table=Figure 6-3 Format 0 optical bounds table deltas for this fontBTable 6-2 Format 0 optical bounds table data for this example fontHTable 6-3 Format 0 optical bounds table for this example font(continued)&Example: Format 1 Optical Bounds TableZFigure 6-4 Format 1 optical bounds table control points for one glyph of this example fontBTable 6-4 Format 1 optical bounds table data for this example fontHTable 6-5 Format 1 optical bounds table for this example font(continued)
Kerning TableKerning Table FormatsFigure 7-1 The kerning table%Table 7-1 Kerning table header format!Table 7-2 Kerning subtable header&Table 7-3 Format of the coverage field9Format 0 Kerning Subtable (Ordered List of Kerning Pairs)$Table 7-4 Format 0 kerning subtable 8Table 7-5 Format 0 kerning subtable for pairs and values>Format 1 Kerning Subtable (State Table for Contextual Kerning).Table 7-6 Format 1 kerning table header format=Format 2 Kerning Table (Simple n ¥ m Array of Kerning Values)=Table 7-7 Format 2 kerning table simple array header subtable7Table 7-8 Format 2 kerning table class subtable header >Format 3 Kerning Table (Simple n ¥ m Array of Kerning Indices)=Table 7-9 Format 3 kerning table simple array header subtable*Table 7-10 Format 3 variable length arraysKerning Table Example@Figure 7-2 Sample of cross-streaming text from the table exampleCFigure 7-3 Kerning table finite state machine for this example font4Figure 7-4 Kerning state table for this example fontATable 7-11 Start of text and start of line state entry references)Table 7-12 In-word state entry references9Table 7-13 Kerning table for this example font(continued)Tracking TableLFigure 8-1 Normal, tight, and loose tracking by control of the advance widthTracking Table FormatFigure 8-2 The tracking tableTable 8-1 Tracking table format$Table 8-2 The TrackData table format"Table 8-3 Track table entry formatTracking Table Example-Table 8-4 Tracking data for this example font9Table 8-5 Tracking table for this example font(continued)Vertical Header TableVertical Header Table Format$Figure 9-1 The vertical header table&Table 9-1 Vertical header table formatVertical Header Table Example5Table 9-2 Vertical header table for this example fontVertical Metrics TableBFigure 10-1 Advance height and top sidebearing specified in 'vmtx'Vertical Metrics Table Format&Figure 10-2 The vertical metrics table3Table 10-1 Format of an entry in the vMetrics array/Table 10-2 Format of the top sidebearings arrayVertical Metrics Table Example5Table 10-3 Vertical metric data for this example fontBTable 10-4 Vertical metrics table for this example font(continued)Glyph Properties TableGlyph Properties Table Format&Figure 11-1 The glyph properties table(Table 11-1 Glyph properties table format&Table 11-2 Glyph properties(continued)<Table 11-3 Directionality nomenclature for bracketing glyphs,Table 11-4 Directionality classes(continued)Glyph Properties Table Examples-Example Font With Hebrew and Roman Characters6Table 11-5 Glyph properties data for this example fontBTable 11-6 Glyph properties table for this example font(continued)"Example Font With Roman CharactersATable 11-7 Glyph properties data for this example font(continued)BTable 11-8 Glyph properties table for this example font(continued)Glyph Metamorphosis Table Glyph Metamorphosis Table Format)Figure 12-1 The glyph metamorphosis table2Table 12-1 Glyph metamorphosis table header format%Table 12-2 Format of the chain header
Feature Table&Table 12-3 Format of the feature table7Table 12-4 Data for the last entry of the feature tableMetamorphosis Subtables'Table 12-5 Metamorphosis subtable types2Table 12-6 Format of metamorphosis subtable header,Table 12-7 Format of the coverage data field=Figure 12-2 The coverage binary field of the feature subtableIndic Rearrangement Subtable .Table 12-8 Indic rearrangement subtable format0Table 12-9 Indic rearrangement state table flagsFFigure 12-3 The flags binary field of the Indic rearrangement subtable+Table 12-10 Rearrangement verbs and results&Contextual Glyph Substitution Subtable9Table 12-11 Contextual glyph substitution subtable formatTable 12-12 Action formatPFigure 12-4 The flags binary field of the contextual glyph substitution subtable=Table 12-13 Interpretation of the table-specific flags field Ligature Substitution Subtable1Table 12-14 Ligature substitution subtable formatHFigure 12-5 The flag field of the ligature substitution subtable actions:Table 12-15 Mask values of the ligActionTable binary field0Figure 12-6 An entry in the ligature action list3Table 12-16 Mask values of the ligature action listFigure 12-7 A ligature table *Table 12-17 Glyph offsets for this example)Noncontextual Glyph Substitution Subtable<Table 12-18 Noncontextual glyph substitution subtable format"Glyph Metamorphosis Table Examples)Example: Noncontextual Glyph SubstitutionGFigure 12-8 Sample of vertical substitution text from this example font:Table 12-19 Glyph metamorphosis data for this example fontFTable 12-20 Glyph metamorphosis table for this example font(continued)%Example: Hierarchical Ligature TablesMTable 12-21 Creating hierarchical settings for the ligature formation feature$Example: Stand-Alone Ligature TablesLTable 12-22 Creating stand-alone settings for the ligature formation featureFont Variations Table5Figure 13-1 Font variations along the bold style axisBFigure 13-2 Font variations along the bold and condense style axesFont Variations Table Format%Figure 13-3 The font variations table.Table 13-1 Font variations table header format+Table 13-2 Font variation axis array format(Table 13-3 The sfntInstance array formatFont Variations Table Example4Table 13-4 Font variation data for this example fontATable 13-5 Font variations table for this example font(continued)Glyph Variations TableGlyph Variations Table Format&Figure 14-1 The glyph variations table"Table 14-1 Glyph variations header.Table 14-2 Glyph variation array header format&Table 14-3 The tupleCount field format.Table 14-4 Tuple variation array header format1Table 14-5 The tupleIndex field format(continued))Point Numbers for Simple Glyph Variations-Table 14-6 Point count flag format(continued)Deltas for Glyph Variations*Table 14-7 Packed tuple delta field format,Point Numbers for Component Glyph Variations8Table 14-8 Component glyph fake point number assignmentsGlyph Variations Table ExampleBTable 14-9 Glyph variations table for this example font(continued)CVT Variations TableCVT Variations Table Format$Figure 15-1 The CVT variations table&Table 15-1 CVT variations table formatFont Descriptors TableFont Descriptors Table Format&Figure 16-1 The font descriptors table/Table 16-1 Font descriptors table header format'Table 16-2 Font descriptor array format(Table 16-3 Currently defined descriptors6Table 16-4 Code meanings for nonalphabetic descriptorsFont Descriptors Table Example6Table 16-5 Font descriptors data for this example font7Table 16-6 Font descriptors table for this example fontFeature Name TableFeature Name Table Format"Figure 17-1 The feature name table+Table 17-1 Feature name table header format$Table 17-2 Feature name array format5Table 17-3 Single-bit flags for the featureFlag field+Table 17-4 Format of the setting name arrayFeatures and Settings)Table 17-5 Registered features(continued)All Typographic FeaturesDTable 17-6 Registered “all typographic features” settings(continued) Ligatures3Table 17-7 Registered ligatures settings(continued)Cursive Connection<Table 17-8 Registered cursive connection settings(continued)Letter Case5Table 17-9 Registered letter case settings(continued)Vertical Substitution@Table 17-10 Registered vertical substitution settings(continued)Linguistic RearrangementKTable 17-11 Registered linguistic rearrangement feature settings(continued)Number Spacing9Table 17-12 Registered number spacing settings(continued)
Style Options8Table 17-23 Registered style options settings(continued)Character Shape:Table 17-24 Registered character shape settings(continued)Number Case6Table 17-25 Registered number case settings(continued)Feature Name Table Example3Table 17-26 Feature name data for this example font?Table 17-27 Feature name table for this example font(continued)
Name TableName Table FormatFigure 18-1 The name table.Table 18-1 Name table header format(continued)/Table 18-2 Name records array format(continued)*Table 18-3 Platform identifiers(continued)=Table 18-4 Macintosh platform-specific identifiers(continued)0Table 18-5 Unicode platform-specific identifiers2Table 18-6 Microsoft platform-specific identifiers4Table 18-7 Macintosh language identifiers(continued)&Table 18-8 Name Identifiers(continued)TTable 18-9 Example name strings for name ID codes for Macintosh platforms(continued)Name Table Example6Table 18-10 Name data for this example font(continued)7Table 18-11 Name table for this example font(continued)Character Mapping TableCharacter Mapping Table Formats'Figure 19-1 The character mapping table0Table 19-1 Character mapping table header format9Table 19-2 The character mapping encoding subtable format#Format 0 Character Mapping Subtable.Table 19-3 Format 0 character mapping subtable#Format 2 Character Mapping Subtable.Table 19-4 Format 2 character mapping subtable&Table 19-5 Subheader format(continued)#Format 4 Character Mapping Subtable9Table 19-6 Format 4 character mapping subtable(continued)7Table 19-7 Example Format 4 subtable value calculationsKTable 19-8 Mapping variant parameter values for a Format 4 subtable example#Format 6 Character Mapping Subtable9Table 19-9 Format 6 character mapping subtable(continued)Character Mapping Table ExampleHTable 19-10 The character mapping table for this example font(continued)Bitmap LocationTableBitmap Location Table Format%Figure 20-1 The bitmap location table'Table 20-1 Bitmap location table header.Table 20-2 Bitmap size table format(continued)7Table 20-3 Interpretation of bitDepth and colorRef data0Table 20-4 The sbitLineMetrics format(continued)+Figure 20-2 Horizontal text metrics example)Figure 20-3 Vertical text metrics example4Table 20-5 Meaning of the bitmapSizeTable.flag field3Table 20-6 The IndexSubTableArray format(continued)/Table 20-7 The IndexSubHeader format(continued):Table 20-8 Format 1 uncompressed index subtable(continued)8Table 20-9 Format 3 compressed index subtable(continued).Table 20-10 Format 2 index subtable(continued)Bitmap Data TableBitmap Data Table Formats!Figure 21-1 The bitmap data table#Table 21-1 Bitmap data table header7Table 21-2 Format codes for the 'bdat' table(continued)(Table 21-3 The bigGlyphMetrics structure*Table 21-4 The smallGlyphMetrics structure#Figure 21-2 Horizontal text metrics!Figure 21-3 Vertical text metrics+Table 21-5 Format 1 glyph bitmap(continued)+Table 21-6 Format 2 glyph bitmap(continued)+Table 21-7 Format 4 glyph bitmap(continued)+Table 21-8 Format 5 glyph bitmap(continued),Table 21-9 Format 6 glyph bitmap(continued) ,Table 21-10 Format 7 glyph bitmap(continued)Accent Attachment TableAccent Attachment Table Formats'Figure 22-1 The accent attachment table4Table 22-1 Accent attachment table format(continued)Table 22-2 Format 0 descriptionTable 22-3 Format 1 descriptionTable 22-4 Extension Table 22-5 Secondary data Axis Variation TableAxis Variation Table Formats&Table 23-1 Axis variation table header3Table 23-2 Format of the shortFracSegment structure:Table 23-3 Format of the shortFracCorrespondence structureSegment Example"Table 23-4 Example of segment data)Table 23-5 Results of mapping user valuesFont Metrics TableFont Metrics Table Format$Table 24-1 Font metrics table format6Table 24-2 Typical coordinate values for 'fmtx' pointsGlossaryIndex